﻿using System;

namespace Cloak.Mvvm
{
	/// <summary>
	/// The states of an asynchronous operation
	/// </summary>
	public enum OperationStatus
	{
		/// <summary>
		/// The operation has not executed or a prior execution's result has been handled
		/// </summary>
		Idle,

		/// <summary>
		/// The operation is currently executing
		/// </summary>
		InProgress,

		/// <summary>
		/// The operation resulted in a general error
		/// </summary>
		TechnicalError,

		/// <summary>
		/// The operation resulted in a specific error
		/// </summary>
		DomainError
	}
}